package com.hxkj.domain.po;


import java.io.Serializable;
import java.util.List;
import java.util.Objects;

/**
* 
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-06-05 19:32:55
*/
public class Column implements Serializable {

    private static final long serialVersionUID = 1412277949381450533L;
    // 分类ID
    private Long columnId;
    // 分类名字
    private String columnName;
    // 分类状态
    private Long columnStatus;
    // 序号
    private Long sortNumber;
    // 创建时间
    private Long createTime;
    // 修改时间
    private Long updateTime;
    // 分类属性
    private Integer columnType;
    // 标识(分类等级)
    private Byte delTag;
    // 备注
    private String comment;
    // 上级分类ID
    private Long parentColumnId;
    //站点ID
    private Long siteId;
    //分类缩略图URl地址
    private String imgUrl;
    //详情模板ID
    private Long templetId;
    // 列表模板ID
    private Long tempId;
    // 移动端列表(第一页)模板ID
    private Long mFirstListTempletId;
    // 移动端列表(非第一页)模板ID
    private Long mListTempletId;
    // 移动端详情模板ID
    private Long mDetailTempletId;
    //seo标题
    private String seoHeadline;
    //seo关键字
    private String seoKeyword;
    //seo描述
    private String seoDepict;
    //分页页数
    private Integer pageNum;
    //分页条数
    private Integer pageSize;

    // 分类ID字符串
    private String columnIds;

    //关键字
    private String keyword;
    // 列表模板名称
    private String templetName1;
    // 列表文件名称
    private String fileName1;
    // 列表文件路径
    private String path1;
    // 详情模板名称
    private String templetName2;
    // 详情文件名称
    private String fileName2;
    // 详情文件路径
    private String path2;
    // 频道ID
    private Long channelId;
    //选中状态
    private int checked;
    //静态页地址路径
    private String manuscriptPath;

    //取文章标题字节长度
    private Integer titleLen;
    //取文章起始条数
    private Integer start;
    //取文章数据条数
    private Integer count;
    //取文章排序条件
    private String sortkey;
    //取文章排序方式
    private String sort;
    //取文章推荐级别
    private Integer locationLevel;

    //该分类下的文章
    private List<Article> articleList;

    //分类是否有映射内容的状态:0、没有映射内容；1、有映射内容'
    private int contentStatus;

    //内容表字段名
    private String contentName;

    //自定义字段映射list集合
    private List<ContentMapping> contentMappingList;

    /**
     * 进度条相关
     * 保存redis计数器
     */
    private String socketKey;

    private String alias;

    public String getContentName() {
        return contentName;
    }

    public void setContentName(String contentName) {
        this.contentName = contentName;
    }

    public List<ContentMapping> getContentMappingList() {
        return contentMappingList;
    }

    public void setContentMappingList(List<ContentMapping> contentMappingList) {
        this.contentMappingList = contentMappingList;
    }

    public int getContentStatus() {
        return contentStatus;
    }

    public void setContentStatus(int contentStatus) {
        this.contentStatus = contentStatus;
    }

    public List<Article> getArticleList() {
        return articleList;
    }

    public void setArticleList(List<Article> articleList) {
        this.articleList = articleList;
    }

    public Integer getStart() {
        return start;
    }

    public void setStart(Integer start) {
        this.start = start;
    }

    public Integer getLocationLevel() {
        return locationLevel;
    }

    public void setLocationLevel(Integer locationLevel) {
        this.locationLevel = locationLevel;
    }

    public String getColumnName() {
    return columnName;
    }

    public void setColumnName(String columnName) {
    this.columnName = columnName;
    }

    public Long getColumnStatus() {
    return columnStatus;
    }

    public void setColumnStatus(Long columnStatus) {
    this.columnStatus = columnStatus;
    }

    public Long getSortNumber() {
    return sortNumber;
    }

    public void setSortNumber(Long sortNumber) {
    this.sortNumber = sortNumber;
    }

    public Long getCreateTime() {
    return createTime;
    }

    public void setCreateTime(Long createTime) {
    this.createTime = createTime;
    }

    public Long getUpdateTime() {
    return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
    this.updateTime = updateTime;
    }

    public Integer getColumnType() {
        return columnType;
    }

    public void setColumnType(Integer columnType) {
        this.columnType = columnType;
    }

    public Byte getDelTag() {
    return delTag;
    }

    public void setDelTag(Byte delTag) {
    this.delTag = delTag;
    }

    public String getComment() {
    return comment;
    }

    public void setComment(String comment) {
    this.comment = comment;
    }

    public Long getParentColumnId() {
    return parentColumnId;
    }

    public void setParentColumnId(Long parentColumnId) {
    this.parentColumnId = parentColumnId;
    }

    public Long getColumnId() {
    return columnId;
    }

    public void setColumnId(Long columnId) {
    this.columnId = columnId;
    }

    public Long getSiteId() {
        return siteId;
    }

    public void setSiteId(Long siteId) {
        this.siteId = siteId;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public Long getTempletId() {
        return templetId;
    }

    public void setTempletId(Long templetId) {
        this.templetId = templetId;
    }

    public String getSeoHeadline() {
        return seoHeadline;
    }

    public void setSeoHeadline(String seoHeadline) {
        this.seoHeadline = seoHeadline;
    }

    public String getSeoKeyword() {
        return seoKeyword;
    }

    public void setSeoKeyword(String seoKeyword) {
        this.seoKeyword = seoKeyword;
    }

    public String getSeoDepict() {
        return seoDepict;
    }

    public void setSeoDepict(String seoDepict) {
        this.seoDepict = seoDepict;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public Long getTempId() {
        return tempId;
    }

    public void setTempId(Long tempId) {
        this.tempId = tempId;
    }

    public Long getmListTempletId() {
        return mListTempletId;
    }

    public void setmListTempletId(Long mListTempletId) {
        this.mListTempletId = mListTempletId;
    }

    public Long getmDetailTempletId() {
        return mDetailTempletId;
    }

    public void setmDetailTempletId(Long mDetailTempletId) {
        this.mDetailTempletId = mDetailTempletId;
    }

    public Long getmFirstListTempletId() {
        return mFirstListTempletId;
    }

    public void setmFirstListTempletId(Long mFirstListTempletId) {
        this.mFirstListTempletId = mFirstListTempletId;
    }

    public String getColumnIds() {
        return columnIds;
    }

    public void setColumnIds(String columnIds) {
        this.columnIds = columnIds;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public String getTempletName1() {
        return templetName1;
    }

    public void setTempletName1(String templetName1) {
        this.templetName1 = templetName1;
    }

    public String getFileName1() {
        return fileName1;
    }

    public void setFileName1(String fileName1) {
        this.fileName1 = fileName1;
    }

    public String getPath1() {
        return path1;
    }

    public void setPath1(String path1) {
        this.path1 = path1;
    }

    public String getTempletName2() {
        return templetName2;
    }

    public void setTempletName2(String templetName2) {
        this.templetName2 = templetName2;
    }

    public String getFileName2() {
        return fileName2;
    }

    public void setFileName2(String fileName2) {
        this.fileName2 = fileName2;
    }

    public String getPath2() {
        return path2;
    }

    public void setPath2(String path2) {
        this.path2 = path2;
    }

    public Long getChannelId() {
        return channelId;
    }

    public void setChannelId(Long channelId) {
        this.channelId = channelId;
    }


    public String getManuscriptPath() {
        return manuscriptPath;
    }

    public void setManuscriptPath(String manuscriptPath) {
        this.manuscriptPath = manuscriptPath;
    }

    public int getChecked() {
        return checked;
    }

    public void setChecked(int checked) {
        this.checked = checked;
    }

    public Integer getTitleLen() {
        return titleLen;
    }

    public void setTitleLen(Integer titleLen) {
        this.titleLen = titleLen;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public String getSortkey() {
        return sortkey;
    }

    public void setSortkey(String sortkey) {
        this.sortkey = sortkey;
    }

    public String getSort() {
        return sort;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }

    public String getSocketKey() {
        return socketKey;
    }

    public void setSocketKey(String socketKey) {
        this.socketKey = socketKey;
    }

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        this.alias = alias;
    }

    @Override
    public String toString() {
        return "Column{" +
                "columnId=" + columnId +
                ", columnName='" + columnName + '\'' +
                ", columnStatus=" + columnStatus +
                ", sortNumber=" + sortNumber +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", columnType=" + columnType +
                ", delTag=" + delTag +
                ", comment='" + comment + '\'' +
                ", parentColumnId=" + parentColumnId +
                ", siteId=" + siteId +
                ", imgUrl='" + imgUrl + '\'' +
                ", templetId=" + templetId +
                ", tempId=" + tempId +
                ", seoHeadline='" + seoHeadline + '\'' +
                ", seoKeyword='" + seoKeyword + '\'' +
                ", seoDepict='" + seoDepict + '\'' +
                ", pageNum=" + pageNum +
                ", pageSize=" + pageSize +
                ", columnIds='" + columnIds + '\'' +
                ", keyword='" + keyword + '\'' +
                ", templetName1='" + templetName1 + '\'' +
                ", fileName1='" + fileName1 + '\'' +
                ", path1='" + path1 + '\'' +
                ", templetName2='" + templetName2 + '\'' +
                ", fileName2='" + fileName2 + '\'' +
                ", path2='" + path2 + '\'' +
                ", channelId=" + channelId +
                ", checked=" + checked +
                ", manuscriptPath='" + manuscriptPath + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Column)) return false;
        Column column = (Column) o;
        return getChecked() == column.getChecked() &&
                Objects.equals(getColumnId(), column.getColumnId()) &&
                Objects.equals(getColumnName(), column.getColumnName()) &&
                Objects.equals(getColumnStatus(), column.getColumnStatus()) &&
                Objects.equals(getSortNumber(), column.getSortNumber()) &&
                Objects.equals(getCreateTime(), column.getCreateTime()) &&
                Objects.equals(getUpdateTime(), column.getUpdateTime()) &&
                Objects.equals(getColumnType(), column.getColumnType()) &&
                Objects.equals(getDelTag(), column.getDelTag()) &&
                Objects.equals(getComment(), column.getComment()) &&
                Objects.equals(getParentColumnId(), column.getParentColumnId()) &&
                Objects.equals(getSiteId(), column.getSiteId()) &&
                Objects.equals(getImgUrl(), column.getImgUrl()) &&
                Objects.equals(getTempletId(), column.getTempletId()) &&
                Objects.equals(getTempId(), column.getTempId()) &&
                Objects.equals(getSeoHeadline(), column.getSeoHeadline()) &&
                Objects.equals(getSeoKeyword(), column.getSeoKeyword()) &&
                Objects.equals(getSeoDepict(), column.getSeoDepict()) &&
                Objects.equals(getPageNum(), column.getPageNum()) &&
                Objects.equals(getPageSize(), column.getPageSize()) &&
                Objects.equals(getColumnIds(), column.getColumnIds()) &&
                Objects.equals(getKeyword(), column.getKeyword()) &&
                Objects.equals(getTempletName1(), column.getTempletName1()) &&
                Objects.equals(getFileName1(), column.getFileName1()) &&
                Objects.equals(getPath1(), column.getPath1()) &&
                Objects.equals(getTempletName2(), column.getTempletName2()) &&
                Objects.equals(getFileName2(), column.getFileName2()) &&
                Objects.equals(getPath2(), column.getPath2()) &&
                Objects.equals(getChannelId(), column.getChannelId()) &&
                Objects.equals(getManuscriptPath(), column.getManuscriptPath());
    }

    @Override
    public int hashCode() {

        return Objects.hash(getColumnId(), getColumnName(), getColumnStatus(), getSortNumber(), getCreateTime(), getUpdateTime(), getColumnType(), getDelTag(), getComment(), getParentColumnId(), getSiteId(), getImgUrl(), getTempletId(), getTempId(), getSeoHeadline(), getSeoKeyword(), getSeoDepict(), getPageNum(), getPageSize(), getColumnIds(), getKeyword(), getTempletName1(), getFileName1(), getPath1(), getTempletName2(), getFileName2(), getPath2(), getChannelId(), getChecked(), getManuscriptPath());
    }
}
